package com.zkl.user.model;

import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.zkl.common.web.app.base.BaseModel;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;

/**
 * <p>
 * 用户贡献值变动记录表
 * </p>
 *
 * @author gongxz
 * @since 2020-01-16
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="UserContributeChangeRecord对象", description="用户贡献值变动记录表")
public class UserContributeChangeRecord extends BaseModel<UserContributeChangeRecord> {


    @ApiModelProperty(value = "主键")
	@TableId(value = "id", type = IdType.UUID)
    private String id;

    @ApiModelProperty(value = "用户推荐编码")
    private String userRecommendCode;

    @ApiModelProperty(value = "变动类型(1.签到，2.分享 3.邀请品友 4.学习品牌文化 5.学习品牌视频 6.品友助力贡献，7.贡献值兑换")
    private String changeType;

    @ApiModelProperty(value = "变动贡献值")
    private Integer changeNumber;

    @ApiModelProperty(value = "变动后贡献")
    private Integer changeAfterContribute;

    @ApiModelProperty(value = "变动时间")
    private Date changeDate;

    @ApiModelProperty(value = "变动原因")
    private String remark;

    @ApiModelProperty(value = "品牌商代码")
    private String corpCode;

    @ApiModelProperty(value = "品牌商名称")
    private String corpName;

    @ApiModelProperty(value = "1.收入；2.支出")
    private String status;

    @ApiModelProperty(value = "3.邀请品友；邀请成功的用户编号")
    private String sourceUserRecommendCode;

    @ApiModelProperty(value = "6.品友助力贡献；保存贡献值变动记录表")
    private String userContributeChangeRecordId;


    public static final String ID = "id";

    public static final String USER_RECOMMEND_CODE = "user_recommend_code";

    public static final String CHANGE_TYPE = "change_type";

    public static final String CHANGE_NUMBER = "change_number";

    public static final String CHANGE_AFTER_CONTRIBUTE = "change_after_contribute";

    public static final String CHANGE_DATE = "change_date";

    public static final String REMARK = "remark";

    public static final String CORP_CODE = "corp_code";

    public static final String CORP_NAME = "corp_name";

    public static final String STATUS = "status";

    public static final String SOURCE_USER_RECOMMEND_CODE = "source_user_recommend_code";

    public static final String USER_CONTRIBUTE_CHANGE_RECORD_ID = "user_contribute_change_record_id";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
